package dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.HibernateException;

import entity.SubCategoriaDespesaENT;


public class SubCategoriaDepesaDAO extends GenericDAO {

	
	
	@SuppressWarnings("unchecked")
	public List<SubCategoriaDespesaENT> getSubCategoriaDepesa() {
		
		try {
			query = sessao.getNamedQuery("getSubCategoriaDespesa");
			
			if(query.list().isEmpty()){
				return null;				
			}else{
				return query.list();
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return null;
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<SubCategoriaDespesaENT> getFromCategoriaDespesa(int idCategoriaDespesa) {
		
		try {
			query = sessao.getNamedQuery("getFromCategoria");
			query.setParameter("id_categoria", idCategoriaDespesa);
			if(query.list().isEmpty()){
				return new ArrayList<SubCategoriaDespesaENT>();
				//return new UsuarioENT;
			}else{
				return query.list();
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return new ArrayList<SubCategoriaDespesaENT>();
		}
	}
	
	public SubCategoriaDespesaENT getSubcategoriaDespesaId(int id) {
		
		try {
			query = sessao.getNamedQuery("getSubcategoriaId");
			query.setParameter("id", id);
			if(query.list().isEmpty()){
				return new SubCategoriaDespesaENT();
				//return new UsuarioENT;
			}else{
				return (SubCategoriaDespesaENT) query.list().get(0);
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return new SubCategoriaDespesaENT();
		}
	}
	
	public SubCategoriaDepesaDAO() {
		// TODO Auto-generated constructor stub
	}

}
